<!--内容开始-->
<section class="content">
    {// 额外CSS代码 }
    {$extra_css|raw|default=''}
    {// 额外HTML代码 }
    {$extra_html_content_top|raw|default=''}
    <!--顶部提示开始-->
    {notempty name="page_tips_top"}
    <div class="alert alert-{$tips_type} alert-dismissable">
        <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
        <p>{$page_tips_top|raw}</p>
    </div>
    {/notempty}
    <!--顶部提示结束-->
    <div class="container-fluid">
        <div class="row">
            <!--搜索区域开始-->
            {include file="table_builder/search" /}
            <!--列表区域开始-->
            <div class="col-sm-12 select-table table-striped">
                {include file="table_builder/toolbar" /}
                <table id="bootstrap-table" data-mobile-responsive="true"></table>
            </div>
        </div>
    </div>
    <script>
        $(function() {
            var options = {
                uniqueId      : "{$unique_id}",         // 表格主键名称，（默认为id，如表主键不为id必须设置主键）
                url           : "{$data_url|raw}",      // 请求后台的URL
                addUrl        : "{$add_url|raw}",       // 新增的地址
                editUrl       : "{$edit_url|raw}",      // 修改的地址
                delUrl        : "{$del_url|raw}",       // 删除的地址
                exportUrl     : "{$export_url|raw}",    // 导出的地址
                sortUrl       : "{$sort_url|raw}",      // 排序的地址
                sortName      : "{$unique_id}",         // 排序列名称
                sortOrder     : "desc",                 // 排序方式  asc 或者 desc
				pagination    : {$pagination},			// 是否进行分页
                parentIdField : "{$parent_id_field}",   // 列表树模式需传递父id字段名（parent_id/pid）
				clickToSelect : true,				    // 默认false不响应，设为true则当点击此行的某处时，会自动选中此行的checkbox/radiobox
                pageSize      : "{$page_size}",         // 每页显示的行数
                layerOpen     : "{$layer_open}",        // 添加/编辑等页启用layer弹层加载
                emptyTips     : "{$empty_tips}",        // 空数据提示信息
                fixedColumns  : true,                   // 是否启用固定列功能
                fixedLeft     : {$fixed_left},          // 左侧固定列数
                fixedRight    : {$fixed_right},         // 右侧固定列数
                columns: [
                    {
                        //field: 'state',
                        checkbox: true,
						// 当某行包含checkbox_disabled时禁止选择
						formatter: function(value, row, index) {
							if(row.checkbox_disabled =='1'){
								 return {
									 disabled : true
								}
							 }
						}
                    },
                    {volist name="columns" id="column"}
                        {
                            field: '{$column.name|default=''}',  {// 字段名称}
                            title: '{$column.title|default=''}', {// 字段别名}

                            {if $column.name==$unique_id}
                                sortable: true,                  {// 主键必须可以排序}
                            {else}
                                sortable: {$column.sortable},     {// 是否可排序}
                            {/if}
                            {notempty name="column.class"}
                                class: '{$column.class|default=''}', {// 使用class定义/覆盖列的CSS类}
                            {/notempty}
                            {notempty name="column.width"}
                                width: {$column.width}, {// 列宽}
                            {/notempty}

							{if $column.param }
								{if $column.name == 'status' }
									formatter: function(value, row, index) {
										if (value == 0) {
											return '<i class="fa fa-toggle-off text-info fa-2x cursor_pointer" onclick="$.operate.state(\'' + row.{$unique_id} + '\',\'{:url('state')}\')"></i>';
										} else {
											return '<i class="fa fa-toggle-on text-info fa-2x cursor_pointer" onclick="$.operate.state(\'' + row.{$unique_id} + '\',\'{:url('state')}\')"></i>';
										}
									}
								{else}
								formatter: function(value, row, index) {
                                    if (value == 0) {
                                        return '<span class="badge badge-{$column.param.0.class|default='danger'}">{$column.param.0|default='禁用'}</span>';
                                    } else if (value == 1) {
                                        return '<span class="badge badge-{$column.param.1.class|default='primary'}">{$column.param.1|default='启用'}</span>';
                                    }else if (value == 2) {
                                        return '<span class="badge badge-{$column.param.1.class|default='info'}">{$column.param.2|default='状态2'}</span>';
                                    }else if (value == 3) {
                                        return '<span class="badge badge-{$column.param.1.class|default='success'}">{$column.param.3|default='状态3'}</span>';
                                    }else {
                                        var str = '';
                                        {foreach $column.param as $key=>$vo }
                                            var kk = '{$key}';
                                            if (value == kk || checkValInStr(kk, value)) {
                                                str += '<span class="badge badge-info">{$vo}</span> ';
                                            }
                                        {/foreach}
                                        return str;
                                    }
                                }
								{/if}
							{else}
								{if $column.name == 'sort' }
									formatter: function(value, row, index) {
										return '<input class="form-control input-sm w_40 changeSort" type="text" value="' + value + '" data-id="' + row.{$unique_id} + '" onblur="$.table.sort(this)">';
									}
								{else}
									{// 根据格式决定如何处理数据}
									{switch column.type }
									{case text }
										formatter: function(value, row, index) {
											return HTMLDecode(value);
										}
									{/case}
                                    {case datetime }
                                    formatter: function(value, row, index) {
                                        return changeDateFormat(value);
                                    }
                                    {/case}
									{case status }
										formatter: function(value, row, index) {
											if (value == 0) {
												return '<span class="badge badge-{$column.param.0.class|default='danger'}">{$column.param.0.title|default='禁用'}</span>';
											} else if (value == 1) {
												return '<span class="badge badge-{$column.param.1.class|default='primary'}">{$column.param.1.title|default='启用'}</span>';
											}else if (value == 2) {
												return '<span class="badge badge-{$column.param.1.class|default='default'}">{$column.param.1.title|default='状态2'}</span>';
											}else if (value == 3) {
												return '<span class="badge badge-{$column.param.1.class|default='success'}">{$column.param.1.title|default='状态3'}</span>';
											}else {
												return '<span class="badge badge-{$column.param.1.class|default='info'}">{$column.param.1.title|default='其他'}</span>';
											}
										}
									{/case}
									{case yesno }
										formatter: function(value, row, index) {
											if (value == 0) {
												return '<i class="fa fa-ban text-{$column.param.0.class|default='danger'}"></i>';
											} else if (value == 1) {
												return '<i class="fa fa-check text-{$column.param.1.class|default='primary'}"></i>';
											}
										}
									{/case}
									{case link }
									formatter: function(value, row, index) {
										var link = '{$column.default|default=''}';
										var reg = /__(.*?)__/g;
										// 匹配ID和email，可能为任何的其他参数，但都是 __字段__ 格式
										while (result = reg.exec(link)) {
											link = link.replace(result[0], row[result[1]]);
										}
										// 拼接
										link = '<a href="'+link+'" target="{$column.param}">' + value + '</a>';
										return link;
									}
									{/case}
									{case image }
									formatter: function(value, row, index) {
										if ($.common.isNotEmpty(value)) {
											return '<a href="' + value + '" target="_blank"><img class="image_preview" src="' + value + '"></a>';
										}
									}
									{/case}
                                    {case color }
                                    formatter: function(value, row, index) {
                                        if ($.common.isNotEmpty(value)) {
                                            return '<i class="table_colorpicker" style="background: ' + value + '""></i>';
                                        }
                                    }
                                    {/case}
									{case select }
									formatter: function(value, row, index) {
										return row.{$column.name|default=''};
									}
									{/case}
									{case select2 }
									formatter: function(value, row, index) {
										return row.{$column.name|default=''};
									}
									{/case}
									{case btn }
                                    class : 'text-nowrap',
									formatter: function(value, row, index) {
										var actions = [];
										{volist name="right_buttons" id="right_button"}
										if('{$right_button.type|default=''}' == 'edit' || '{$right_button.type|default=''}' == 'preview'){
                                            if('{$right_button.href|default=''}'){
                                                var url = '{$right_button.href|default=''}';
                                                var reg = /__(.*?)__/g;
                                                // 匹配ID和email，可能为任何的其他参数，但都是 __字段__ 格式
                                                while (result = reg.exec(url)) {
                                                    url = url.replace(result[0], row[result[1]]);
                                                }
                                                actions.push('<a class="{$right_button.class|default=''}" target="{$right_button.target|default=''}" href="'+url+'"><i class="{$right_button.icon|default=''}"></i> {$right_button.title|default=''}</a> ');
                                            }else{
                                                actions.push('<a class="{$right_button.class|default=''}" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.{$unique_id} + '\')"><i class="{$right_button.icon|default=''}"></i> {$right_button.title|default=''}</a> ');
                                            }
										} else if ('{$right_button.type|default=''}' == 'delete'){
                                            if('{$right_button.href|default=''}'){
                                                var url = '{$right_button.href|default=''}';
                                                var reg = /__(.*?)__/g;
                                                // 匹配ID和email，可能为任何的其他参数，但都是 __字段__ 格式
                                                while (result = reg.exec(url)) {
                                                    url = url.replace(result[0], row[result[1]]);
                                                }
                                                actions.push('<a class="{$right_button.class|default=''}" target="{$right_button.target|default=''}" href="'+url+'"><i class="{$right_button.icon|default=''}"></i> {$right_button.title|default=''}</a> ');
                                            }else{
                                                actions.push('<a class="{$right_button.class|default=''}" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.{$unique_id} + '\')"><i class="{$right_button.icon|default=''}"></i> {$right_button.title|default=''}</a> ');
                                            }
										} else {
											var url = '{$right_button.href|default=''}';
											var reg = /__(.*?)__/g;
											// 匹配ID和email，可能为任何的其他参数，但都是 __字段__ 格式
											while (result = reg.exec(url)) {
												url = url.replace(result[0], row[result[1]]);
											}
											actions.push('<a class="{$right_button.class|default=''}" target="{$right_button.target|default=''}" href="'+url+'"><i class="{$right_button.icon|default=''}"></i> {$right_button.title|default=''}</a> ');
										}

										{/volist}
										return actions.join('');
									}
									{/case}
									{default /}
									{/switch}
								{/if}
							{/if}

                        },
                    {/volist}
                ]
            };
            $.table.init(options);
        });

        // 搜索
        function searchPre() {
            var data = {};
            $.table.search('', data);
        }

        // 重置搜索
        function resetPre() {
            $.form.reset();
        }
		//HTML反转义
		function HTMLDecode(text) {
			var temp = document.createElement("div");
			temp.innerHTML = text;
			var output = temp.innerText || temp.textContent;
			temp = null;
			return output;
		}
    </script>

    <!--bootstrap table end-->

    <!--底部提示-->
    {notempty name="page_tips_bottom"}
    <div class="alert alert-{$tips_type} alert-dismissable">
        <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
        <p>{$page_tips_bottom|raw}</p>
    </div>
    {/notempty}
    {// 额外HTML代码 }
    {$extra_html_content_bottom|raw|default=''}
    {// 额外JS代码 }
    {$extra_js|raw|default=''}
</section>
<!--内容结束-->
